#include "includes/OTHER_TYPES/ARRAY/CHAR/CHAR_ARR/STRING/STRING.h"

int main(int argc, char * argv[])
{  
  CHECK_SYS_ENDIAN();
  
  char real[20] = {'b', 'a', 0xC2, 0xA3, '>', 0xF4, 0x89, 0x9A, 0xB3, 0xE2, 0x82, 0xAC, 0xF0, 0x90, 0x8D, 0x88};
  char real1[20] = {0};
   
  set_ch_arr_funcs(CHAR_ENC_UTF8);
  print_chenc_arr(real, 20);
  printf("%llu\n", get_str_byte_length(real));
  printf("%llu\n", get_str_char_length(real));
  print_str(real);
  printf("%d\n", (char *) cp_str(real, real1) - &real1[0]);
  printf("%d\n\n", comp_strs(real, real1));
  printf("%llu\n", get_str_byte_length(real1));
  printf("%llu\n", get_str_char_length(real1));
  print_str(real1);
  putchar('\n');
  
  char real2[20] = {'b', 'a', 0xC2, 0xA3, '>', 0x81, 0x89, 0x9A, 0xB3, 0xE2, 0x82, 0xAC, 0xE4, 0x90, 0x8D, 0x88};
  char real3[20] = {0};
  
  set_ch_arr_funcs(CHAR_ENC_CP932);
  print_chenc_arr(real2, 20);
  printf("%llu\n", get_str_byte_length(real2));
  printf("%llu\n", get_str_char_length(real2));
  print_str(real2);
  printf("%d\n", (char *) cp_str(real2, real3) - &real3[0]);
  printf("%d\n\n", comp_strs(real2, real3));
  printf("%llu\n", get_str_byte_length(real3));
  printf("%llu\n", get_str_char_length(real3));
  print_str(real3);
  putchar('\n');
  
  return 0;
}
